Inceptor任务的图形化分析(二)
Inceptor管理界面端顶部提供了七个标签页:Jobs、Cluster、Local、Storage、Holodesk、Environment、Executors。上一篇文章中已介绍了Jobs和Cluster两个标签页的使用和浏览方式,本文将衔接上篇文章对剩余5个标签页的使用和浏览方式进行介绍。
这五个页面中,Local、Holodesk和Executor三个页面较常使用。其中,Local页显示了Local模式下执行的所有SQL语句的相关信息,Holodesk页面提供了各个内存表信息,Executors页面显示着包含了各个Executor的信息的列表,均是对任务执行状态进行管理监测时应注意关注的页面对象。而Storage Environment的使用频率相较而言不高,Environment通常用于帮助纠错调优。
Local
和Cluster标签页相同,Local页也在左上角记录了各类Stage数量。
例如,某集群当前各类Stage数量情况、Active Stages、Completed Stages与Failed Stages的信息在Local页的界面如下图所示。
该页面显示此集群目前有三个Completed Stages,Active Stage和Failed Stage的数量为零。
Storage
Storage页存储着内存表信息,但目前已基本废除。因而这里不再详叙。
Holddesk
Holodesk页面提供了关于各个Holodesk内存表的信息。其描述内容有三方面:Table Name、Block Number、Total Size,分别表示表名、表被分为多少块文件存储和表的总大小。在点击Holodesk按钮后会进入如下所示界面:
进入表的链接后可以看到对应表的各个Block的存放位置和大小。例如,点击进入第二行tpcds_holodesk_2.customer_address表的信息描述界面,如下图所示:
该页面提供了该表的名称,以及分别包含该表相关Host和Block信息的两张列表。第一个列表名称为Host Information,记录了表内数据分布在哪些机器上,每台机器上存放的Block数量及大小。第二个列表为TableInfo,记录了该表被划分为的Block名称和分别所在的Host以及规格大小。
读者可以依据该页面的信息来判断Block的划分是否均匀,存放节点的分布是否合适,从而对文件的大小和分布方式进行调节。例如,如果同属一张Holodesk表的Block之间如果大小相差悬殊,就说明存在数据倾斜,此时需要靠一些手段(如分桶)使数据分布均匀。
Environment
Environment页记录着环境配置信息,在需要进行环境检查的必要情况下,用户可以通过它获取有效信息。读者可自行登录到该页面观察所需内容。这里不再详叙。
Executors
Executors页面显示了集群中各个Executor的信息,这些属性信息通过Executors列表反馈。该列表由以下12个维度构成:
例如,某一集群的Executors页面的列表如下图所示:
列表上的信息可用于检查集群上的Executor数量,读者可以通过比较此数量是否和设置相符,来判断集群是否有未启动的Executor。
另外还可以观察Shuffle Read/Write的数量来判断任务量在整个集群的分配是否合理、处理的数据量大小是否合适。
尤其应注意Executor ID值的分配是否有中断。正常情况下,Executor ID包含着从1至n的n个连续整数以及<driver>。(<driver>代表负责语句编译与任务分配的Master节点)。由于每次Executor重启后都会被分配一个新的Executor ID,原来的号码会从列表上消失,所以如果ExecutorID除<driver>之外的值出现断号,就说明位于断点的Executor发生过退出和启动(可能是由GC引发)。如果重启次数过多,有必要对性能和业务执行分析,例如检查内存是否溢出、磁盘是否不足、是否有宕机现象。
使用总结
本文对Inceptor管理界面中的Local、Holodesk、Executors以及Environment、Storage
五个页面进行了介绍,其中着重介绍了前三个标签页。
学会阅读并分析Local、Holodesk、Executors中的信息对于任务的优化将会有很大帮助。
实际应用过程中,在浏览Local页面时,我们需要了解Local模式下任务的执行情况,利用Scan的数值量判断当前索引对于执行的任务而言是否建立于合理字段。
在观察Holodesk页面时,要注意数据的分布,尽量保证各个Block有合适的数据量,划分均匀,避免数据倾斜。
在观察Executors页面时,首先应注意Executor是否都已正常启动,其次Shuffle的压力是否过大,最后分析Executor ID是否有断号,是哪个Executor导致的断号。
这三个页面为使用者提供了关于Local模式任务、Holodesk数据分布、Executor对象的相关信息,这些信息虽然基础,但有时能起到十分关键的指导作用。由于这些页面中存在的异常往往能够折射失败任务的本因,希望读者能够通过本文掌握对它们的分析方法,及时发现异常,作出应对措施。
往期原创文章
由星环大数据产品剖析基于SQL on Hadoop的数据仓库技术
大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。